package br.com.sysponto.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.com.sysponto.connection.ConnectionFactory;
import br.com.sysponto.vo.ColaboradorVO;

public class ColaboradorDAO {
	
	Connection con;
	
	public ColaboradorDAO () {
		
		this.con = new ConnectionFactory().getConnection();
		
	}




//metodo para inserir


public void inserir (ColaboradorVO colaborador ) {
	
	
	String sql = "INSERT INTO colaborador (nome, endereco, cpf, curso, cep,"
			+ "identificacao, fone, emailPessoal, emailEditora, banco, agencia, "
			+ "tipoConta, numero, login, senha,nomeArquivo1, arquivo1, nomeArquivo2, "
			+ "arquivo2, nomeArquivo3, arquivo3, nomeArquivo4, arquivo4, nomeArquivo5,"
			+ " arquivo5, nomeArquivo6, arquivo6, nomeArquivo7, arquivo7, "
			+ "nomeArquivo8, arquivo8, nomeArquivo9, arquivo9, "
			+ "nomeArquivo10, arquivo10) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,"
			+ "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
	
	try {
		
		PreparedStatement stmt = con.prepareStatement(sql);
		
		stmt.setString(1,  colaborador.getNome());
		stmt.setString(2,  colaborador.getEndereco());
		stmt.setString(3,  colaborador.getCpf());
		stmt.setString(4,  colaborador.getCurso());
		stmt.setInt   (5,  colaborador.getCep());
		stmt.setString(6,  colaborador.getIdentificacao());
		stmt.setInt   (7,  colaborador.getTelefone());
		stmt.setString(8,  colaborador.getEmailPessoal());
		stmt.setString(9,  colaborador.getEmailEditora());
		stmt.setString(10, colaborador.getNomeBanco());
		stmt.setInt   (11, colaborador.getAgencia());
		stmt.setString(12, colaborador.getTipoConta());
		stmt.setInt   (13, colaborador.getNumeroAgencia());
		stmt.setString(14, colaborador.getLogin());
		stmt.setString(15, colaborador.getSenha());
		stmt.setString(16, colaborador.getNomeArquivo1());
		stmt.setBytes (17, colaborador.getArquivo1());
		stmt.setString(18, colaborador.getNomeArquivo2());
		stmt.setBytes (19, colaborador.getArquivo2());
		stmt.setString(20, colaborador.getNomeArquivo3());
		stmt.setBytes (21, colaborador.getArquivo3());
		stmt.setString(22, colaborador.getNomeArquivo4());
		stmt.setBytes (23, colaborador.getArquivo4());
		stmt.setString(24, colaborador.getNomeArquivo5());
		stmt.setBytes (25, colaborador.getArquivo5());
		stmt.setString(26, colaborador.getNomeArquivo6());
		stmt.setBytes (27, colaborador.getArquivo6());
		stmt.setString(28, colaborador.getNomeArquivo7());
		stmt.setBytes (29, colaborador.getArquivo7());
		stmt.setString(30, colaborador.getNomeArquivo8());
		stmt.setBytes (31, colaborador.getArquivo8());
		stmt.setString(32, colaborador.getNomeArquivo9());
		stmt.setBytes (33, colaborador.getArquivo9());
		stmt.setString(34, colaborador.getNomeArquivo10());
		stmt.setBytes (35, colaborador.getArquivo10());
		
		
		
		stmt.execute();
		
		stmt.close();
		
	}catch (SQLException ex) {
		throw new RuntimeException(ex);
		
	
}

}

public List login (ColaboradorVO colaborador) {
	List <ColaboradorVO> lista = new ArrayList <ColaboradorVO>();
	
	String sql = "SELECT * FROM colaborador WHERE login = ?, senha = ?";
	
	
	try {
		
		PreparedStatement stmt = con.prepareStatement(sql);
		
		stmt.setString(1, colaborador.getLogin());
		stmt.setString(2, colaborador.getSenha());
		
		ResultSet rs = stmt.executeQuery();
		
		
		while (rs.next()) {
			colaborador.setLogin(rs.getString("login"));
			colaborador.setSenha(rs.getString("senha"));
			
			
			lista.add(colaborador);
		}
		
		return lista;
		
	}catch (SQLException ex) {
		throw new RuntimeException(ex);
	}
	
}



public void listarTudo (ColaboradorVO colaborador) {
	
	String sql = "SELECT * FROM colaborador";
	
	try {
		
		PreparedStatement stmt = con.prepareStatement(sql);
		
		
		ResultSet rs = stmt.executeQuery();
		
		while (rs.next()) {
			colaborador = new ColaboradorVO ();
			
			colaborador.setId(rs.getInt("id"));
			colaborador.setNome(rs.getString("nome"));
			colaborador.setEndereco(rs.getString("endereco"));
			colaborador.setCpf(rs.getString("cpf"));
			colaborador.setCurso(rs.getString("curso"));
			colaborador.setCep(rs.getInt("cep"));
			colaborador.setTelefone(rs.getInt("fone"));
			colaborador.setEmailPessoal(rs.getString("emailpessoal"));
			colaborador.setEmailEditora(rs.getString("emaileditora"));
			colaborador.setNomeBanco(rs.getString("banco"));
			colaborador.setAgencia(rs.getInt("agencia"));
			colaborador.setTipoConta(rs.getString("tipoConta"));
			colaborador.setNumeroAgencia(rs.getInt("numero"));
			colaborador.setLogin(rs.getString("login"));
			colaborador.setSenha(rs.getString("senha"));
			
			colaborador.setNomeArquivo1(rs.getString("nomeArquivo1"));
			colaborador.setArquivo1(rs.getBytes("arquivo1"));
			
			colaborador.setNomeArquivo2(rs.getString("nomeArquivo2"));
			colaborador.setArquivo2(rs.getBytes("arquivo2"));
			
			colaborador.setNomeArquivo3(rs.getString("nomeArquivo3"));
			colaborador.setArquivo3(rs.getBytes("arquivo3"));
			
			colaborador.setNomeArquivo4(rs.getString("nomeArquivo4"));
			colaborador.setArquivo4(rs.getBytes("arquivo4"));
			
			colaborador.setNomeArquivo5(rs.getString("nomeArquivo5"));
			colaborador.setArquivo5(rs.getBytes("arquivo5"));
			
			colaborador.setNomeArquivo6(rs.getString("nomeArquivo6"));
			colaborador.setArquivo6(rs.getBytes("arquivo6"));
			
			colaborador.setNomeArquivo7(rs.getString("nomeArquivo7"));
			colaborador.setArquivo7(rs.getBytes("arquivo7"));
			
			colaborador.setNomeArquivo8(rs.getString("nomeArquivo8"));
			colaborador.setArquivo8(rs.getBytes("arquivo8"));
			
			colaborador.setNomeArquivo9(rs.getString("nomeArquivo9"));
			colaborador.setArquivo9(rs.getBytes("arquivo9"));
			
			colaborador.setNomeArquivo10(rs.getString("nomeArquivo10"));
			colaborador.setArquivo10(rs.getBytes("arquivo10"));
			
		}
		
	}catch (SQLException ex) {
		throw new RuntimeException(ex);
	}
	
}

}